package com.badlogic.gdxinvaders;

import com.deadpixel.constant.ConstantFloat;
import com.deadpixel.constant.ConstantInt;
import com.deadpixel.constant.ConstantManager;

public class Constants {
	
	public static ConstantFloat SHIP_VELOCITY;
	public static ConstantFloat SHIP_RADIUS;
	public static ConstantFloat BLOCK_RADIUS;
	public static ConstantFloat EXPLOSION_LIVE_TIME;
	public static ConstantFloat INVADER_RADIUS;
	public static ConstantFloat INVADER_VELOCITY;
	public static ConstantInt 	INVADER_POINTS;
	public static ConstantFloat SHOT_VELOCITY;
	public static ConstantFloat PLAYFIELD_MIN_X;
	public static ConstantFloat PLAYFIELD_MAX_X;
	public static ConstantFloat PLAYFIELD_MIN_Z;
	public static ConstantFloat PLAYFIELD_MAX_Z;
	public static ConstantInt 	SHIP_LIFES;
	public static ConstantFloat CAMERA_FOV;
	
	public static void CreateConstants(ConstantManager _manager)
	{
		SHIP_VELOCITY 			= 	_manager.defineConstantFloat("Ship\\Velocity", 			20.0f);
		SHIP_RADIUS 			= 	_manager.defineConstantFloat("Ship\\Radius", 			1.0f);
		BLOCK_RADIUS 			= 	_manager.defineConstantFloat("Blocks\\Radius",			0.5f);
		EXPLOSION_LIVE_TIME 	= 	_manager.defineConstantFloat("Explosion\\Live Time", 	1.0f);
		INVADER_RADIUS 			= 	_manager.defineConstantFloat("Invaders\\Radius", 		0.75f);
		INVADER_VELOCITY 		= 	_manager.defineConstantFloat("Invaders\\Velocity", 		1.0f);
		INVADER_POINTS 			= 	_manager.defineConstantInt	("Invaders\\Points", 		40);
		SHOT_VELOCITY 			= 	_manager.defineConstantFloat("Shots\\Velocity", 		10.0f);
		PLAYFIELD_MIN_X 		= 	_manager.defineConstantFloat("Playfield\\X\\Min", 		-14.0f);
		PLAYFIELD_MAX_X 		= 	_manager.defineConstantFloat("Playfield\\X\\Max", 		14.0f);
		PLAYFIELD_MIN_Z 		= 	_manager.defineConstantFloat("Playfield\\Z\\Min", 		-15.0f);
		PLAYFIELD_MAX_Z 		= 	_manager.defineConstantFloat("Playfield\\Z\\Max", 		2.0f);
		SHIP_LIFES 				= 	_manager.defineConstantInt	("Ship\\Lifes", 			3);
		CAMERA_FOV				= 	_manager.defineConstantFloat("Camera\\FOV", 			67.0f);
		
		_manager.clean();
	}
}
